﻿define(function (require, exports, module) {
    var Config = require('config');

    exports.start = function () {
        m_startAsync().start();
    };

    var m_startAsync = eval(Wind.compile('async', function () {
    }));

    //var m_initConfigAsync = 
});
//define(function (require, exports, module) {
//    var Canvas = require('canvas');
//    var Config = require('config');
//    var Map = require('map');
//    var Player = require('player');
//    var ImageStorage = require('imageStorage');
//    var Request = require('request');
//    var m_loadingCanvas = Canvas.Get();
//    var m_x = 1;
//    var m_y = 559;
//    var m_width = 798;
//    var m_height = 40;

//    exports.Start = eval(Wind.compile('async', function () {
//        $await(InitializationAsync());

//        Canvas.Init();

//        Map.Show();
//        Player.Show();
//        require('chat').Show();
//    }));

//    var InitializationAsync = eval(Wind.compile('async', function () {
//        var img = $await(ImageStorage.GetAsync('images/other/loading.jpg'));
//        m_loadingCanvas.Call('drawImage', img, 0, 0);
//        m_loadingCanvas.Call('strokeRect', m_x, m_y, m_width, m_height);

//        //加载配置
//        var progress = 10;
//        var response = $await(Request.AjaxAsync({
//            url: 'getConfig.do',
//            data: { width: $(window).width(), height: $(window).height() }
//        }));
//        if (!response.Success) {
//            ShowLoadingError(response.Message);
//            return;
//        }
//        Config.Init(response.Data);
//        ShowLoadingProgress(progress);

//        //加载地图
//        var loadMapAsync = Request.AjaxAsync({ url: 'getMapResources.do' });
//        loadMapAsync.start();
//        for (var i = 0; i < 30; i++) {
//            progress += 2;
//            ShowLoadingProgress(progress);
//            $await(Wind.Async.sleep(100));
//        }
//        response = $await(loadMapAsync);
//        progress = 80;
//        if (!response.Success) {
//            ShowLoadingError(response.Message);
//            return;
//        }
//        Map.Init(response.Data);
//        ShowLoadingProgress(progress);

//        //加载玩家
//        response = $await(Request.AjaxAsync({ url: 'getPlayer.do' }));
//        if (!response.Success) {
//            ShowLoadingError(response.Message);
//            return;
//        }
//        Player.Init(response.Data);
//        ShowLoadingProgress(100);
//    }));

//    function ShowLoadingProgress(progress) {
//        m_loadingCanvas.Call('save');
//        m_loadingCanvas.Set('fillStyle', 'lightblue');
//        m_loadingCanvas.Call('fillRect', m_x, m_y, m_width / 100 * progress, m_height);
//        m_loadingCanvas.Call('restore');
//    };

//    function ShowLoadingError(msg) {
//        m_loadingCanvas.Call('save');
//        m_loadingCanvas.Set('fillStyle', 'red')
//                .Set('textAlign', 'center')
//                .Set('textBaseline', 'top');
//        m_loadingCanvas.ChangeFont(20, true);
//        m_loadingCanvas.Call('fillText', msg, Config.GetWidth() / 2, m_y);
//        m_loadingCanvas.Call('restore');
//    };

//    exports.End = function () {
//        window.open('', '_self');
//        window.opener = null;
//        window.close();
//    };
//});